package com.itheima.dao;

import com.itheima.pojo.Order;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderDao {
    /**
     * 根据条件查询订单信息
     * @param order
     * @return
     */
    List<Order> findByCondition(Order order);

    /**
     * 添加订单信息，并返回订单的主键
     * @param order
     */
    void add(Order order);


    /**
     * 查询订单信息
     * @param id
     * @return
     */
    Map findById(Integer id);


    /**
     * 查询今日新增预约数
     * @param now
     * @return
     */
    int getOrderCountByDate(Date now);

    /**
     * 查询今日到诊数
     * @param now
     * @return
     */
    int getVisitsCountByDate(Date now);

    /**
     * 查询指定日期（本周第一天，本月第一天）之后的预约数
     * @param firstDayOfWeek
     * @return
     */
    int getOrderCountAfterDate(Date firstDayOfWeek);

    /**
     * 查询指定日期（本周第一天，本月第一天）之后的到诊数数
     * @param firstDayOfWeek
     * @return
     */
    int getVisitsCountAfterDate(Date firstDayOfWeek);

    /**
     * 查询热门套餐
     * @return
     */
    List<Map> hotSetmeal();
}
